﻿עדכון מגרסא 1.0 לגרסא 1.1
=================================

שינויים הקשורים לתסריטים במודלים
------------------------------------

- המתודה ()CModel::safeAttributes הוסרה. מאפיינים בטוחים מוגדרים כעת במתודה ()CModel::rules  כאלמנטים שיש לאמת אותם לכל דבר בעזרת פונקציות אימות נתונים.

- המתודות ()CModel::validate(), CModel::beforeValidate ו ()CModel::afterValidate השתנו. במתודות ()CModel::setAttributes(), CModel::getSafeAttributeNames הפרמטר 'scenario` הוסר. בכדי להגדיר את התסריט של המודל יש להגדיר את המאפיין CModel::scenario.

- המתודה ()CModel::getValidators השתנתה והמתודה ()CModel::getValidatorsForAttribute הוסרה. המתודה ג עכשיו מחזירה רק את הולידטורים הקשורים לתסריט שהוגדר במאפיין במודל.

- המתודה ()CModel::isAttributeRequired ו ()CModel::getValidatorsForAttribute השתנו. פרמטר התסריט הוסר. התסריט של המודל יכנס לשימוש במקום.

- המאפיין CHtml::scenario הוסר. המחלקה CHtml תשתמש במאפיין התסריט של המודל.

שינויים הקשורים לטעינה נלהבת ב ARR
---------------------------------------------------------------

- כברירת מחדל, יווצר ביטוי JOIN אחד לכל הקישורים המעורבים בטעינה הנלהבת. במידה וההגדרות `LIMIT` או `OFFSET` בשאילתה בטבלה הראשית מוגדרים, השאילתה תתבצע לבד קודם, לאחר מכן תתבצע שאילתה נוספת שתחזיר את כל האובייקטים המקושרים אליה. קודם לכן בגרסא 1.0, כברירת מחדל התבצעו `N+1` שאילתות SQL במידה וטעינה נלהבת מכילה `N` קישורים מסוג `HAS_MANY` או `MANY_MANY`.

שינויים הקשורים לשמות מקוצרים לטבלאות ב ARR
------------------------------------------------------------

- שם הקיצור ברירת המחדל לטבלה מקושרת כעת הוא כשם הקישור עצמו. קודם לכן בגרסא 1.0, כברירת מחדל Yii היה יוצר שם מקוצר לכל טבלה מקושרת באופן אוטומטי, ואנו היינו צריכים להשתמש בקידומת `.??` בכדי להתייחס לשם המקוצר שנוצר אוטומטית.

- שם המקוצר לטבלה הראשית בשאילתת AR הינו מוגדר ספציפית ל `t`. קודם לכן בגרסא 1.0, השם המקוצר היה זהה לשם הטבלה. זה יגרום לקוד AR נוכחי להפסיק לעבוד במידה והם הגדירו קידומת לעמודות בתור שם הטבלה ספציפית. הפתרון הוא להחליף את הקידומות הללו בקידומת `t.`.

שינויים הקשורים לאיסוף קלט טבלאי
----------------------------------

- שמות מאפיינים, שימוש ב


~~~
[php]

Field[$i]

~~~
לא תקף יותר. כעת יש צורך בלכתוב אותם בצורה הבאה

~~~
[php]

[$i]Field

~~~
בכדי שיהיה ניתן לתמוך במערכים עם שדות שונים, לדוגמא

~~~
[php]

[$i]Field[$index]
~~~ 


שינויים נוספים
-------------

- החתימה של המתודה ההתחלתית של המחלקה [CActiveRecord] השתנתה. הפרמטר הראשון (רשימת התכונות) הוסר.

«div class="revision"»$Id: upgrade.txt 1819 2010-02-18 22:56:55Z qiang.xue $«/div»